import pandas as pd        #导入pandas库
#导入pyecharts库中的options模块
from pyecharts import options as opts
#导入pyecharts库中globals模块的Line类
from pyecharts.charts import Line
#导入pyecharts库中globals模块的ThemeType全局变量
from pyecharts.globals import ThemeType
#读取数据,并将第1列数据指定为行标签
df=pd.read_excel('全国人口年度数据.xlsx',index_col=0)
df=df.sort_index(axis='columns')    #将数据按列标签升序排列
#创建Line类对象，并设置初始配置项，包括画布大小、图表主题和网页标题
line=Line(init_opts=opts.InitOpts(
    width='1200px',height='600px',
    theme=ThemeType.SHINE,page_title='折线图'))
line.add_xaxis(xaxis_data=df.columns.tolist())   #添加x轴数据
#添加y轴数据（使用Loc通过行标签选取对应行的数据），并设置数据系列名称
line.add_yaxis(series_name='年末总人口',y_axis=df.loc['年末总人口（万人）'])
line.add_yaxis(series_name='城镇人口',y_axis=df.loc['城镇人口（万人）'])
line.add_yaxis(series_name='乡村人口',y_axis=df.loc['乡村人口（万人）'])
#设置全局配置项
line.set_global_opts(
    #设置标题配置项，包括图表标题及其位置
    title_opts=opts.TitleOpts(
        title='2003-2022年全国年末总人口、城镇人口和乡村人口折线图',
        pos_left='center'),
    #设置坐标轴配置项，包括y轴标题及其位置、标题离轴线距离、刻度最小值
    yaxis_opts=opts.AxisOpts(name='人口（万人）',
                             name_location='center',name_gap=55,min_=45000),
    #设置图例配置项，包括图例离画布右侧和顶部的距离
    legend_opts=opts.LegendOpts(pos_right='10%',pos_top='5%')
)
line.render('例7-1.html')      #渲染图表